package com.cw.base.common.dispatch.task.facade;

import com.cw.base.common.model.dto.response.CommonResponse;
import com.cw.base.common.dispatch.task.facade.pojo.request.MethodTaskRequest;
import com.cw.base.common.dispatch.task.facade.pojo.request.TaskRequest;

/**
 * @author zhangcheng
 */
public interface TaskFacade {

    /**
     * 补偿任务
     *
     * @param taskRequest 任务入参
     * @return 补偿结果
     */
    CommonResponse receiveTask(TaskRequest taskRequest);

    /**
     * 补偿任务
     * 包装原 {@link TaskRequest}
     *
     * @param methodTaskRequest 任务入参
     * @return 补偿结果
     */
    CommonResponse receiveTask(MethodTaskRequest methodTaskRequest);
}
